// The Vue build version to load with the `import` command
// (runtime-only or standalone) has been set in webpack.base.conf with an alias.
import Vue from 'vue'
import App from './App'
import router from './router'
import ElementUI from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'
import '@/styles/index.scss'
import ECharts from 'vue-echarts'
import VueQuillEditor from 'vue-quill-editor'
// require styles
import 'quill/dist/quill.core.css'
import 'quill/dist/quill.snow.css'
import 'quill/dist/quill.bubble.css'
// 引入vue-amap
import VueAMap from 'vue-amap'
Vue.use(VueAMap)

Vue.component('mychart', ECharts)
Vue.use(VueQuillEditor)

// 初始化vue-amap
VueAMap.initAMapApiLoader({
  // 高德的key
  key: '6a204f2b675f32f8849ec4b6b7c21e5c',
  // 插件集合
  plugin: ['AMap.Autocomplete', 'AMap.PlaceSearch', 'AMap.Scale', 'AMap.OverView', 'AMap.ToolBar', 'AMap.MapType', 'AMap.PolyEditor', 'AMap.CircleEditor'],
  // 高德 sdk 版本，默认为 1.4.4
  v: '1.4.4'
})

// 5.1 添加全局导航守卫（路由拦截）
router.beforeEach((to, from, next) => {
  // a 如果用户登陆了，想要跳转到非登录页，我们就让他继续（/login），也不拦他
  // 登录（/login）也不拦他
  // b 如果用户没有登录，想要跳转到非登录页,我们要拦他，不让他跳转到首页，让他回到登录页
  // 登录（/login）不拦他。让他继续
  let mytoken = localStorage.getItem('mytoken') || ''
  if (mytoken) {
    // 这里的条件是用户登录了，我们不拦他，让他一路下一步
    next()
  } else {
    // to.name必须和router/index.js中的路由规则的name对应！！
    if (to.name !== 'login') {
      // 未登录用户访问非登录页面，需要拦截下来，让他去到登录页面
      next('/login')
    } else {
      // 未登录用户访问登录页面就让他访问
      next()
    }
  }
})

Vue.use(ElementUI)
Vue.config.productionTip = false

/* eslint-disable no-new */
new Vue({
  el: '#app',
  router,
  components: { App },
  template: '<App/>'
})
